Low power and Lossy Networks (LLNs), e.g., sensor networks, have a myriad of applications, such as Smart Grid and Smart Cities. Various challenges are presented with LLNs, such as lossy links, low bandwidth, battery operation, low memory and/or processing capability, etc. One example routing solution to LLN challenges is a protocol called Routing Protocol for LLNs or “RPL,” which is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG, or simply DAG) in addition to a set of features to bound the control traffic, support local (and slow) repair, etc. The RPL architecture provides a flexible method by which each node performs DODAG discovery, construction, and maintenance.
Due to the constraints associated with LLNs, as well as for other types of networks and for other reasons, source routing may be used to forward packets through the network, such that a transmitting device inserts into the packet an explicitly indicated path to be followed. In this manner, devices in the network need not store routing information, and may simply pass a source-routed packet through the network according to the indicated path.
One of the main challenges with source routing, however, is convergence time. For example, certain networks use routing protocols without any type of fast probing to maintain routing adjacency (a resource-intensive technique), particularly in constrained networks such as LLNs. In these networks, nodes may detect link failure using slow probing or Neighbor Unreachability Detection (NUD) after sending a data packet. So for example, if a packet needs to reach a particular node, and the source-routed path to that node experiences a failure, the network may be unaware of the failure until a probe detects the failure, which may, in certain configurations, take up to several minutes, a time for which the network will continue to send packets along the broken path. Note also that in LLNs, an error may be sent by the node immediately attached to the failed link, thus serving as an indicator of the failure; still since such links are inherently not reliable, such an error may be lost, thus implying the impossibility to detect the failure, and packets would thus continue to the forwarded along the broken path.